/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vale.test.myHandlers;

import javax.swing.JTextArea;
import vale.sax.ErrorHandler;
import vale.sax.SaxException;

/**
 *
 * @author juan
 */
public final class MyErrorHandler implements ErrorHandler {

    private JTextArea output;

    public void warning(SaxException ex) {
        String msg = "";
        switch (ex.getType()) {
            case SaxException.ERROR:
                msg = "ERROR> ";
                break;
            case SaxException.FATAL_ERROR:
                msg = "FATAL-ERROR> ";
                break;
            case SaxException.WARNING:
                msg = "WARNING> ";
                break;
            default:
                break;
        }
        msg += ex.getMessage();
        print(msg);
    }

    public void error(SaxException ex) {
        this.warning(ex);
    }

    public void fatalError(SaxException ex) {
        this.warning(ex);
    }

    public void setOutput(JTextArea jTextArea) {
        this.output = jTextArea;
    }

    private void print(String msg) {
        System.err.println(msg);
        if(this.output!=null){
            this.output.append("\n"+msg);
        }
    }
}
